package BaseDeDatos;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author Tinacho
 */
public class ManejadorBD {
    
    private Connection conexion = null;
    
    public ManejadorBD(Connection c){
        this.conexion = c;
    }
    
    
    // ----------------------------
    // Pista
    // ----------------------------    
    
    /**
     * 
     * @param nombreP
     * @param ciudadP
     * @param direccionP
     * @param telefonoP
     * @throws IOException
     * @throws SQLException 
     */
    public void insertarInformacionPista(String nombreP, String ciudadP, String direccionP, String telefonoP) throws IOException, SQLException {
        Statement statemen = this.conexion.createStatement();
        String query = "INSERT INTO pista VALUES('"+nombreP+"', '"+ciudadP+"', '"+direccionP+"', '"+telefonoP+"')";
        statemen.executeUpdate(query);
    }// Fin insertarInformacionPista
    
    
    public ResultSet obtenerDatosDePista() throws SQLException{
        ResultSet res;
        Statement statemen = this.conexion.createStatement();
        String query = "SELECT * FROM pista;";
        res = statemen.executeQuery(query);
        return res;
    }// Fin obtenerDatosDePista    
    
    
    public String obtenerNombrePista() throws SQLException{
        String nombreP = "";
        Statement statemen = this.conexion.createStatement();
        String query = "SELECT * FROM pista;";
        ResultSet res = statemen.executeQuery(query);
        if(res.next()){
            nombreP = res.getString("nombre");
        }
        return nombreP;
    }// Fin obtenerNombrePista
    
    
    
    // ----------------------------
    // Corredores
    // ----------------------------
    
    /**
     * 
     * @param dniC
     * @param nombreC
     * @param apellidoC
     * @param categoriaC
     * @param edadC
     * @param domicilioC
     * @param telefonoC
     * @throws IOException
     * @throws SQLException 
     */
    public void insertarCorredor(String dniC, String nombreC, String apellidoC, String categoriaC, 
                                String edadC, String domicilioC, String telefonoC) throws IOException, SQLException {
        Statement statemen = this.conexion.createStatement();
        String query = "INSERT INTO corredores VALUES('"+dniC+"', '"+nombreC+"', '"+apellidoC+"', '"+categoriaC+"', '"+edadC+"', "
                + "'"+domicilioC+"', '"+telefonoC+"')";
        statemen.executeUpdate(query);
    }// Fin insertarCorredor
    
    
    /**
     * Funcion encargada de eliminar un corredor de la base de datos
     * @param dniC
     * @throws SQLException 
     */
    public void eliminarCorredor (String dniC) throws SQLException{
        Statement statemen = this.conexion.createStatement();
        String query = "DELETE FROM corredores WHERE(dni ='"+dniC+"')";
        statemen.executeUpdate(query);
    }// Fin eliminarCorredor    
    
    
    /**
     * Funcion encargada de buscar todos los corredores de la base de datos
     * @param dniC
     * @return Corredor buscado
     * @throws SQLException 
     */    
    public ResultSet buscarCorredorPorDNI(String dniC) throws SQLException{
        ResultSet res;
        Statement statemen = this.conexion.createStatement();
        String query = "SELECT * FROM corredores WHERE (dni ='"+dniC+"')";
        res = statemen.executeQuery(query);
        return res;    
    }
    
    /**
     * Funcion encargada de buscar todos los corredores de la base de datos
     * @return lista de corredores
     * @throws SQLException 
     */
    public ResultSet buscarCorredores() throws SQLException{
        ResultSet res;
        Statement statemen = this.conexion.createStatement();
        String query = "SELECT * FROM corredores ORDER BY apellido asc;";
        res = statemen.executeQuery(query);
        return res;
    }// Fin buscarCorredores
    
    
}
